{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360
{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;\f1\froman\fcharset0 Times-Roman;}
{\colortbl;\red255\green255\blue255;}
\paperw12240\paperh15840\margl1440\margr1440\vieww9000\viewh8400\viewkind0
\deftab720
\pard\pardeftab720\sa260\ql\qnatural

\f0\fs28 \cf0 Alexis Langevin-T\'e9trault et Lucas Paris - 26 mars 2013\
Interface de contr\'f4le et de traitement pour programmes python et synth\'e9tiseurs modulaires eurorack.
\f1\fs24 \
\pard\pardeftab720\sa260\ql\qnatural

\f0\fs28 \cf0 \ul \ulc0 Plan de Travail Python 2 (r\'e9vis\'e9)\
\pard\pardeftab720\sa260\ql\qnatural
\cf0 \ulnone 	Apr\'e8s diff\'e9rentes tentatives, nous avons choisi de r\'e9viser les objectifs \'e0 atteindre dans le cadre du cours de python 2. Le projet final n'a pas chang\'e9 de nature, mais il nous semble \'e9vident qu'il sera impossible de tout r\'e9aliser ad\'e9quatement \'e0 l'int\'e9rieur des d\'e9lais de ce cours. \
	Lucas n'a pas trouv\'e9 de solution satisfaisante au protocole de communication python-hardware-eurorack. Nous remettons \'e0 plus tard (mai-juin) l'\'e9laboration du protocole HID (ou autre) afin de nous concentrer sur des t\'e2ches moins longues \'e0 aboutir. Alexis a lu sur la d\'e9modulation de signal dans l'espoir de pouvoir moduler par eurorack un signal provenant d'un programme python via l'interface physique construite, sans malheureusement trouver de solution simple rapidement applicable. Par ailleurs, l'interface physique construite n'est pas compl\'e8tement termin\'e9e et n\'e9cessiterait encore plusieurs heures de travail. Pour ces raisons, nous avons jug\'e9 plus pertinent de s'attaquer aux parties du projet qui concernent directement la programmation python plut\'f4t qu'aux soudures et programmation Arduino \'e0 mettre en place.\
	Nous avons ainsi programm\'e9 en python une chaine d'effets sonore et de modulation contr\'f4lable directement \'e0 partir d'un Ipad via l'application Lemur. Lucas s'est charg\'e9 de l'architecture de ce programme, Alexis a \'e9crit des classes sp\'e9cifiques. L'essentiel de ce programme sera r\'e9cup\'e9rable et applicable au projet final.\
	Pour la prochaine \'e9tape, nous souhaitons r\'e9aliser un clone am\'e9lior\'e9 de l'interface 'Maschine' de Native Instrument. Cette interface permet de d'enregistrer des sons, de charger des sons, de s\'e9quencer des boucles et d'effectuer des chaines de traitement sonore en temps r\'e9el sans devoir interagir directement avec l'ordinateur. Il nous semble possible de r\'e9aliser un programme similaire avec un Ipad et un contr\'f4leur Quneo. Encore une fois, l'essentiel de ce programme de bo\'eete \'e0 rythme / enregistreur se retrouvera dans la version finale du projet.	\
\pard\pardeftab720\sa260\ql\qnatural

\f1\fs24 \cf0 \
\pard\pardeftab720\sa260\ql\qnatural

\f0\fs28 \cf0 Plan initial (7 F\'e9vrier 2013):\
\pard\pardeftab720\sa260\ql\qnatural
\cf0 \ul \ulc0 Description d\'e9taill\'e9e du projet 
\f1\fs24 \ulnone \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardeftab720\ql\qnatural

\f0\fs28 \cf0 Ce projet d'\'e9quipe vise la cr\'e9ation d'un logiciel d\'e9di\'e9 \'e0 une interface de contr\'f4le physique qui reprend les principes de fonctionnement et de contr\'f4le de l'eurorack modulaire de type Doepfer. L'objectif est d'arriver \'e0 pouvoir modifier en profondeur les programmes num\'e9riques en temps r\'e9el directement \'e0 partir de l'interface physique sans devoir se r\'e9f\'e9rer \'e0 l'ordinateur. L'approche modulaire en interface physique permet de compl\'e9ter \'e9ventuellement l'interface 'ma\'eetre' (d\'e9j\'e0 construite) par des modules de contr\'f4les plus sp\'e9cifiques. 
\f1\fs24 \

\f0\fs28 \
Pratiques en studio comme outil de composition pour explorer les possibilit\'e9s d'un programme de synth\'e8se, l'interface et son logiciel deviennent de puissants outils en situation de concert puisqu'ils permettent d'interpr\'e9ter une oeuvre musicale et d'improviser \'e0 partir de celle-ci; l'interface et son logiciel deviennent ainsi des outils de performance. 
\f1\fs24 \

\f0\fs28 \
Par ailleurs, ce syst\'e8me permettra d'int\'e9grer de r\'e9els modules euroracks. Certains modules euroracks sont extr\'eamement complexes et offrent de grandes possibilit\'e9s de contr\'f4le; ces modules euroracks seront bonifi\'e9s par cette nouvelle utilisation puisqu'ils b\'e9n\'e9ficieront de la pr\'e9cision et de la complexit\'e9 des contr\'f4les et algorithmes num\'e9riques. 
\f1\fs24 \

\f0\fs28 \
Nous cherchons \'e0 cr\'e9er un syst\'e8me flexible qui peut s'adapter aux diff\'e9rents genres \'e9lectroniques et acousmatiques. Notre intention est de pouvoir utiliser ce contr\'f4leur-logiciel pendant plusieurs ann\'e9es dans toutes les situations musicales possibles. 
\f1\fs24 \
\pard\pardeftab720\sa260\ql\qnatural

\f0\fs28 \cf0 \
\pard\pardeftab720\sa260\ql\qnatural
\cf0 \ul Acquisition de connaissances n\'e9cessaires au projet 
\f1\fs24 \ulnone \
\pard\pardeftab720\sa260\ql\qnatural

\f0\fs28 \cf0 Nous avons d\'e9j\'e0 construit l'interface de contr\'f4le principale en reprenant le principe d'Arduino. Tout semble bien fonctionner. L'\'e9tape suivant concerne la communication entre cette interface et Pyo; nous en sommes \'e0 l'\'e9tude et \'e0 l'impl\'e9mentation du protocole HID. Nous devons aussi \'e9tudier l'OSC puisque ce protocole de communication permettrait l'utilisation conjointe d'un IPad. L'OSC pourrait \'eatre une option si l'HID se montre trop r\'e9fractaire. Finalement, un protocole MIDI pourrait aussi \'eatre envisag\'e9 en derni\'e8re instance. 
\f1\fs24 \

\f0\fs28 L'\'e9tude et l'utilisation des modules eurorack (Make Noise, Buchla, Intellijel\'85), d'interfaces de contr\'f4le telle que le Monome ou encore d'interface-logiciel d\'e9di\'e9e telle que Maschine de Native Instrument sont n\'e9cessaires afin de pouvoir condenser les avantages de chacun de ces contr\'f4leurs dans notre projet. Nous pr\'e9voyons aussi r\'e9aliser de simple programmes avant de nous lancer dans la conception complexe afin de tester les principes de fonctionnement et les options qui s'offrent \'e0 nous; par exemple, l'\'e9laboration d'une chaine de traitement sonore sur Pyo contr\'f4lable \'e0 partir d'un Ipad et qui serait modulable en 'Control Voltage' par les modules euroracks.
\f1\fs24 \

\f0\fs28 \
\pard\pardeftab720\sa260\ql\qnatural
\cf0 \ul Plan de travail
\f1\fs24 \ulnone \
\pard\pardeftab720\sa260\ql\qnatural

\f0\fs28 \cf0 Il faudra in\'e9vitablement r\'e9pondre \'e0 la probl\'e9matique du protocole de communication (HID, MIDI, OSC) mais nous n'attendrons pas d'avoir compl\'e8tement r\'e9solu cette probl\'e9matique avant de nous attaquer \'e0 l'architecture de programmation du projet, laquelle sera r\'e9cup\'e9rable en grande partie ind\'e9pendamment du protocole de communication choisi.
\f1\fs24 \

\f0\fs28 La rigueur d'architecture du projet est essentielle \'e0 sa r\'e9ussite.  Il importe de d\'e9finir la classe 'ma\'eetre' qui sera responsable du 'browser' pour le chargement de son, de la sauvegarde des 'presets' et des entr\'e9es/sorties audio. Il faudra aussi \'e9tablir une classe 'parente' qui sera en communication avec la classe 'ma\'eetre' pour lui donner acc\'e8s aux fonctions g\'e9n\'e9rales (chargement, sauvegarde...). Nous d\'e9sirons de plus pouvoir 'encapsuler' des modules simples afin de les charger/d\'e9charger \'e0 volont\'e9 au sein d'un module de contr\'f4le plus g\'e9n\'e9ral. Ces modules 'encapsulables' correspondent aux classes 'enfants'. Une classe d\'e9di\'e9e aux surfaces de contr\'f4les sont aussi \'e0 construire, pour le IPad et l'interface physique.
\f1\fs24 \

\f0\fs28 Lucas Paris travaillera davantage au protocole de communication et \'e0 la hi\'e9rarchie des classes. Alexis Langevin-T\'e9trault travaillera plus \'e0 la programmation et \'e0 l'encapsulation des modules. Tout le travail se fait conjointement et sera discut\'e9 en \'e9quipe afin d'assurer la coh\'e9rence du projet. Une fois les pr\'e9mices fonctionnelles, nous r\'e9partirons de fa\'e7on plus sp\'e9cifique les t\'e2ches de programmation.
\f1\fs24 \
\

\f0\fs28 Commentaires:
\f1\fs24 \

\f0\fs28 Excellent plan de travail!
\f1\fs24 \

\f0\fs28 En ce qui concerne la communication, offrir les diff\'e9rents protocols via des APIs normalis\'e9s serait une solution tr\'e8s chic. Cela permettrait aussi de travailler, par exemple, en OSC pour l'instant, tout en laissant la porte ouverte aux autres protocols. Les APIs normalis\'e9s sont relativement simples \'e0 mettre en place. Il suffit de cr\'e9er des modules ind\'e9pendants qui impl\'e9mentent exactement les m\'eames fonctions, avec chacune un processus interne diff\'e9rent en fonction du protocol.
\f1\fs24 \

\f0\fs28 Au niveau des modules, il faudrait tout de suite d\'e9terminer quelques modules permettant de tester toutes les fonctionnalit\'e9s. Sans \'eatre particuli\'e8rement complexe d'un point de vue \'93processing\'94, \'e7a prendrait 1 ou 2 g\'e9n\'e9rateurs, au moins 2 modules d'effets et quelques modules de contr\'f4le afin de commencer tout de suite \'e0 tester la connectique.
\f1\fs24 \
}